package pe.gob.osce.sirenas.model.jpa;
/**
*  Resumen				
*  Objeto		       	: SolicitudInscripcion.java
*  Descripción		  	: .
*  Fecha de Creación    : 24/02/2015.
*  Pry de Creación 		: RNA/RNS.
*  Autor			   	: Julio Cayulla
*  -------------------------------------------------------------------------------------
*  Modificaciones
*  Motivo	            Fecha           Nombre         				Descripción
*  -------------------------------------------------------------------------------------
*/

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="TBL_REG_SOLICITUD", schema="RNAS" )
@SequenceGenerator(name = "SQ_ID_SOLICITUD", sequenceName = "RNAS.SQ_ID_SOLICITUD", allocationSize=1)
public class SolicitudInscripcion  implements Serializable {

	/**
	 */
	private static final long serialVersionUID = 1020323830454252176L;
	
	@Id 
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_ID_SOLICITUD")	
	@Column(name="N_ID_SOLICITUD")
	private Long idSolicitud;
	@Column(name="N_NUM_SOLICITUD")
	private String numeroSolicitud;
	@Column(name="D_FEC_VENCIMIENTO")
	private Date fechaVencimiento;
	
	@Column(name="C_NOM_APE_PATERNO")
	private String apePaterno;
	@Column(name="C_NOM_APE_MATERNO")
	private String apeMaterno;
	@Column(name="C_NOM_PERSONA")
	private String nombres;
	@Column(name="N_IND_GENERO")
	private Long genero;	
	@Column(name="D_FEC_NACIMIENTO")
	private Date fecNacimiento;
	@Column(name="N_IND_TIPO_DOC")
	private Integer indTipoDocumento;
	@Column(name="C_VAL_NUM_DOCUMENTO")
	private Long numDocumento;
	@Column(name="N_NUM_RUC")
	private Long numRuc;
	@Column(name="C_VAL_EMAIL")
	private String correoElectronico;
	@Column(name="N_IND_EMAIL_PUBLICO")
	private Boolean correoElectronicoIndicador;
	@Column(name="C_VAL_FONO")
	private String telefono;
	@Column(name="N_IND_FONO_PUBLICO")
	private Boolean telefonoIndicador;
	@Column(name="C_DIR_DIRECCION")
	private String direccion;
	@Column(name="C_DIR_REFERENCIAS")
	private String referencias;
	@Column(name="C_DIR_URBANIZACION")
	private String urbanizacion;
	@Column(name="C_DIR_CENTRO_POBLADO")
	private String centroPoblado;
	//CFaltan las Relaciones OneToOne
	@Column(name="N_ID_REGION")
	private Long idRegion;	
	@Column(name="N_ID_PROVINCIA")
	private Long idProvincia;	
	@Column(name="N_ID_DISTRITO")
	private Long idDistrito;	

	@Column(name="C_COD_IP_REGISTRO")
	private String  codIpRegistro;	
	@Column(name="N_ANN_REGISTRO")
	private Integer anioRegistro;

	@Column(name="N_ID_TIPO_ZONA")
	private Long  idTipoZona;	
	@Column(name="N_ID_TIPO_VIA")
	private Long idTipoVia;
	
	
	
	@Embedded
	private Auditoria auditoria;	
	@Column(name="N_IND_ESTADO")
	/**Indicador de Estado*/
	private Long estado;
	/**
	 * Metodo que permite obtener idSolicitud.
	 * @return idSolicitud , tipo Long.
	 */
	public Long getIdSolicitud() {
		return idSolicitud;
	}
	/**
	 * Permite actualizar idSolicitud.
	 * @param idSolicitud, tipo Long.
	 */
	public void setIdSolicitud(Long idSolicitud) {
		this.idSolicitud = idSolicitud;
	}
	/**
	 * Metodo que permite obtener numeroSolicitud.
	 * @return numeroSolicitud , tipo String.
	 */
	public String getNumeroSolicitud() {
		return numeroSolicitud;
	}
	/**
	 * Permite actualizar numeroSolicitud.
	 * @param numeroSolicitud, tipo String.
	 */
	public void setNumeroSolicitud(String numeroSolicitud) {
		this.numeroSolicitud = numeroSolicitud;
	}
	/**
	 * Metodo que permite obtener apePaterno.
	 * @return apePaterno , tipo String.
	 */
	public String getApePaterno() {
		return apePaterno;
	}
	/**
	 * Permite actualizar apePaterno.
	 * @param apePaterno, tipo String.
	 */
	public void setApePaterno(String apePaterno) {
		this.apePaterno = apePaterno;
	}
	/**
	 * Metodo que permite obtener apeMaterno.
	 * @return apeMaterno , tipo String.
	 */
	public String getApeMaterno() {
		return apeMaterno;
	}
	/**
	 * Permite actualizar apeMaterno.
	 * @param apeMaterno, tipo String.
	 */
	public void setApeMaterno(String apeMaterno) {
		this.apeMaterno = apeMaterno;
	}
	/**
	 * Metodo que permite obtener nombres.
	 * @return nombres , tipo String.
	 */
	public String getNombres() {
		return nombres;
	}
	/**
	 * Permite actualizar nombres.
	 * @param nombres, tipo String.
	 */
	public void setNombres(String nombres) {
		this.nombres = nombres;
	}
	/**
	 * Metodo que permite obtener genero.
	 * @return genero , tipo Long.
	 */
	public Long getGenero() {
		return genero;
	}
	/**
	 * Permite actualizar genero.
	 * @param genero, tipo Long.
	 */
	public void setGenero(Long genero) {
		this.genero = genero;
	}
	/**
	 * Metodo que permite obtener fecNacimiento.
	 * @return fecNacimiento , tipo Date.
	 */
	public Date getFecNacimiento() {
		return fecNacimiento;
	}
	/**
	 * Permite actualizar fecNacimiento.
	 * @param fecNacimiento, tipo Date.
	 */
	public void setFecNacimiento(Date fecNacimiento) {
		this.fecNacimiento = fecNacimiento;
	}
	/**
	 * Metodo que permite obtener indTipoDocumento.
	 * @return indTipoDocumento , tipo Integer.
	 */
	public Integer getIndTipoDocumento() {
		return indTipoDocumento;
	}
	/**
	 * Permite actualizar indTipoDocumento.
	 * @param indTipoDocumento, tipo Integer.
	 */
	public void setIndTipoDocumento(Integer indTipoDocumento) {
		this.indTipoDocumento = indTipoDocumento;
	}
	/**
	 * Metodo que permite obtener numDocumento.
	 * @return numDocumento , tipo Long.
	 */
	public Long getNumDocumento() {
		return numDocumento;
	}
	/**
	 * Permite actualizar numDocumento.
	 * @param numDocumento, tipo Long.
	 */
	public void setNumDocumento(Long numDocumento) {
		this.numDocumento = numDocumento;
	}
	/**
	 * Metodo que permite obtener numRuc.
	 * @return numRuc , tipo Long.
	 */
	public Long getNumRuc() {
		return numRuc;
	}
	/**
	 * Permite actualizar numRuc.
	 * @param numRuc, tipo Long.
	 */
	public void setNumRuc(Long numRuc) {
		this.numRuc = numRuc;
	}
	/**
	 * Metodo que permite obtener correoElectronico.
	 * @return correoElectronico , tipo String.
	 */
	public String getCorreoElectronico() {
		return correoElectronico;
	}
	/**
	 * Permite actualizar correoElectronico.
	 * @param correoElectronico, tipo String.
	 */
	public void setCorreoElectronico(String correoElectronico) {
		this.correoElectronico = correoElectronico;
	}
	/**
	 * Metodo que permite obtener correoElectronicoIndicador.
	 * @return correoElectronicoIndicador , tipo Boolean.
	 */
	public Boolean getCorreoElectronicoIndicador() {
		return correoElectronicoIndicador;
	}
	/**
	 * Permite actualizar correoElectronicoIndicador.
	 * @param correoElectronicoIndicador, tipo Boolean.
	 */
	public void setCorreoElectronicoIndicador(Boolean correoElectronicoIndicador) {
		this.correoElectronicoIndicador = correoElectronicoIndicador;
	}
	/**
	 * Metodo que permite obtener telefono.
	 * @return telefono , tipo String.
	 */
	public String getTelefono() {
		return telefono;
	}
	/**
	 * Permite actualizar telefono.
	 * @param telefono, tipo String.
	 */
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	/**
	 * Metodo que permite obtener telefonoIndicador.
	 * @return telefonoIndicador , tipo Boolean.
	 */
	public Boolean getTelefonoIndicador() {
		return telefonoIndicador;
	}
	/**
	 * Permite actualizar telefonoIndicador.
	 * @param telefonoIndicador, tipo Boolean.
	 */
	public void setTelefonoIndicador(Boolean telefonoIndicador) {
		this.telefonoIndicador = telefonoIndicador;
	}
	/**
	 * Metodo que permite obtener direccion.
	 * @return direccion , tipo String.
	 */
	public String getDireccion() {
		return direccion;
	}
	/**
	 * Permite actualizar direccion.
	 * @param direccion, tipo String.
	 */
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	/**
	 * Metodo que permite obtener referencias.
	 * @return referencias , tipo String.
	 */
	public String getReferencias() {
		return referencias;
	}
	/**
	 * Permite actualizar referencias.
	 * @param referencias, tipo String.
	 */
	public void setReferencias(String referencias) {
		this.referencias = referencias;
	}
	/**
	 * Metodo que permite obtener urbanizacion.
	 * @return urbanizacion , tipo String.
	 */
	public String getUrbanizacion() {
		return urbanizacion;
	}
	/**
	 * Permite actualizar urbanizacion.
	 * @param urbanizacion, tipo String.
	 */
	public void setUrbanizacion(String urbanizacion) {
		this.urbanizacion = urbanizacion;
	}
	/**
	 * Metodo que permite obtener centroPoblado.
	 * @return centroPoblado , tipo String.
	 */
	public String getCentroPoblado() {
		return centroPoblado;
	}
	/**
	 * Permite actualizar centroPoblado.
	 * @param centroPoblado, tipo String.
	 */
	public void setCentroPoblado(String centroPoblado) {
		this.centroPoblado = centroPoblado;
	}
	/**
	 * Metodo que permite obtener idRegion.
	 * @return idRegion , tipo Long.
	 */
	public Long getIdRegion() {
		return idRegion;
	}
	/**
	 * Permite actualizar idRegion.
	 * @param idRegion, tipo Long.
	 */
	public void setIdRegion(Long idRegion) {
		this.idRegion = idRegion;
	}
	/**
	 * Metodo que permite obtener idProvincia.
	 * @return idProvincia , tipo Long.
	 */
	public Long getIdProvincia() {
		return idProvincia;
	}
	/**
	 * Permite actualizar idProvincia.
	 * @param idProvincia, tipo Long.
	 */
	public void setIdProvincia(Long idProvincia) {
		this.idProvincia = idProvincia;
	}
	/**
	 * Metodo que permite obtener idDistrito.
	 * @return idDistrito , tipo Long.
	 */
	public Long getIdDistrito() {
		return idDistrito;
	}
	/**
	 * Permite actualizar idDistrito.
	 * @param idDistrito, tipo Long.
	 */
	public void setIdDistrito(Long idDistrito) {
		this.idDistrito = idDistrito;
	}
	/**
	 * Metodo que permite obtener auditoria.
	 * @return auditoria , tipo Auditoria.
	 */
	public Auditoria getAuditoria() {
		return auditoria;
	}
	/**
	 * Permite actualizar auditoria.
	 * @param auditoria, tipo Auditoria.
	 */
	public void setAuditoria(Auditoria auditoria) {
		this.auditoria = auditoria;
	}
	/**
	 * Metodo que permite obtener estado.
	 * @return estado , tipo Long.
	 */
	public Long getEstado() {
		return estado;
	}
	/**
	 * Permite actualizar estado.
	 * @param estado, tipo Long.
	 */
	public void setEstado(Long estado) {
		this.estado = estado;
	}
	/**
	 * Metodo que permite obtener fechaVencimiento.
	 * @return fechaVencimiento , tipo Date.
	 */
	public Date getFechaVencimiento() {
		return fechaVencimiento;
	}
	/**
	 * Permite actualizar fechaVencimiento.
	 * @param fechaVencimiento, tipo Date.
	 */
	public void setFechaVencimiento(Date fechaVencimiento) {
		this.fechaVencimiento = fechaVencimiento;
	}
	/**
	 * Metodo que permite obtener codIpRegistro.
	 * @return codIpRegistro , tipo String.
	 */
	public String getCodIpRegistro() {
		return codIpRegistro;
	}
	/**
	 * Permite actualizar codIpRegistro.
	 * @param codIpRegistro, tipo String.
	 */
	public void setCodIpRegistro(String codIpRegistro) {
		this.codIpRegistro = codIpRegistro;
	}
	/**
	 * Metodo que permite obtener anioRegistro.
	 * @return anioRegistro , tipo Integer.
	 */
	public Integer getAnioRegistro() {
		return anioRegistro;
	}
	/**
	 * Permite actualizar anioRegistro.
	 * @param anioRegistro, tipo Integer.
	 */
	public void setAnioRegistro(Integer anioRegistro) {
		this.anioRegistro = anioRegistro;
	}
	/**
	 * Metodo que permite obtener idTipoZona.
	 * @return idTipoZona , tipo Long.
	 */
	public Long getIdTipoZona() {
		return idTipoZona;
	}
	/**
	 * Permite actualizar idTipoZona.
	 * @param idTipoZona, tipo Long.
	 */
	public void setIdTipoZona(Long idTipoZona) {
		this.idTipoZona = idTipoZona;
	}
	/**
	 * Metodo que permite obtener idTipoVia.
	 * @return idTipoVia , tipo Long.
	 */
	public Long getIdTipoVia() {
		return idTipoVia;
	}
	/**
	 * Permite actualizar idTipoVia.
	 * @param idTipoVia, tipo Long.
	 */
	public void setIdTipoVia(Long idTipoVia) {
		this.idTipoVia = idTipoVia;
	}

	
	
}
